package main

import (
	"context"
	"fmt"
	"log"
	"time"

	"github.com/go-redis/redis/v8"
)

var ctx = context.Background()

// Структуры остаются без изменений

func main() {
	// Подключение к Redis
	redisClient := redis.NewClient(&redis.Options{
		Addr:     "localhost:6379",
		Password: "",
		DB:       0,
	})

	// Запуск счетчика времени
	startTime := time.Now()

	// Пример чтения данных
	keys, err := redisClient.Keys(ctx, "*").Result()
	if err != nil {
		log.Fatal(err)
	}

	// Подсчет количества строк
	stringCount := 0
	for _, key := range keys {
		value, err := redisClient.Get(ctx, key).Result()
		if err == nil && value != "" {
			stringCount++
		}
	}

	fmt.Printf("Количество строк в базе Redis: %d\n", stringCount)

	// Остановка счетчика времени и вывод затраченного времени
	elapsedTime := time.Since(startTime)
	fmt.Printf("Данные успешно прочитаны из Redis за %v.\n", elapsedTime)
}
